how to get hired as software engineer